package com.github.tommas.admintpl.security.permission;

abstract public class Permissions {
    public static final String USER_CREATE = "user:create";
    public static final String USER_EDIT = "user:edit";
    public static final String USER_READ = "user:read";
    public static final String USER_DELETE = "user:delete";
    public static final String USER_ASSIGN_ROLE = "user:assign_role";
    public static final String USER_ASSIGN_ENTITY = "user:assign_entity";

    public static final String ROLE_CREATE = "role:create";
    public static final String ROLE_EDIT = "role:edit";
    public static final String ROLE_READ = "role:read";
    public static final String ROLE_DELETE = "role:delete";
    public static final String ROLE_ASSIGN_PERMISSION = "role:assign_permission";

    public static final String INDICATOR_DEFINITION_CREATE = "indicator:definition:create";
    public static final String INDICATOR_DEFINITION_DELETE = "indicator:definition:delete";
    public static final String INDICATOR_DEFINITION_EDIT = "indicator:definition:edit";
    public static final String INDICATOR_DEFINITION_READ = "indicator:definition:read";

    public static final String INDICATOR_TEMPLATE_CREATE = "indicator:template:create";
    public static final String INDICATOR_TEMPLATE_DELETE = "indicator:template:delete";
    public static final String INDICATOR_TEMPLATE_EDIT = "indicator:template:edit";
    public static final String INDICATOR_TEMPLATE_READ = "indicator:template:read";
    public static final String INDICATOR_TEMPLATE_DOWNLOAD = "indicator:template:download";

    public static final String INDICATOR_REPORT_UPLOAD = "indicator:report:upload";

    public static final String ENTITY_CREATE = "entity:create";
    public static final String ENTITY_DELETE = "entity:delete";
    public static final String ENTITY_EDIT = "entity:edit";
    public static final String ENTITY_READ = "entity:read";
    public static final String ENTITY_QUIT = "entity:quit";
    public static final String ENTITY_HISTORY_READ = "entity:history:read";

    public static final String ENTITY_MEMBER_CREATE = "entity:member:create";
    public static final String ENTITY_MEMBER_DELETE = "entity:member:delete";
    public static final String ENTITY_MEMBER_EDIT = "entity:member:edit";
    public static final String ENTITY_MEMBER_READ = "entity:member:read";
    public static final String ENTITY_MEMBER_CHANGE = "entity:member:change";

    public static final String ENTITY_COMMITTEE_CREATE = "entity:committee:create";
    public static final String ENTITY_COMMITTEE_DELETE = "entity:committee:delete";
    public static final String ENTITY_COMMITTEE_EDIT = "entity:committee:edit";
    public static final String ENTITY_COMMITTEE_READ = "entity:committee:read";
}
